+2008-03-25 Richard Hult <richard@imendio.com>
+
+ * gdk/quartz/gdkwindow-quartz.c:
+ (gdk_window_quartz_process_all_updates): Plug a leak and add a
+ check that we have a toplevel before accessing it.
+
2008-03-24 Tor Lillqvist <tml@novell.com>
Bug 524151 - Dragging of 0-byte files results in an empty filename
{
GdkWindow *window = tmp_list->data;
GdkWindow *toplevel;
- NSWindow *nswindow;
- GdkWindowObject *private;
- GdkWindowImplQuartz *impl;
+ /* Only flush each toplevel at most once. */
toplevel = gdk_window_get_toplevel (window);
- private = (GdkWindowObject *) toplevel;
- impl = (GdkWindowImplQuartz *) private->impl;
- nswindow = impl->toplevel;
-
- if (nswindow && ![nswindow isFlushWindowDisabled])
+ if (toplevel)
{
- [nswindow disableFlushWindow];
- nswindows = g_slist_prepend (nswindows, nswindow);
+ GdkWindowObject *private;
+ GdkWindowImplQuartz *impl;
+ NSWindow *nswindow;
+
+ private = (GdkWindowObject *) toplevel;
+ impl = (GdkWindowImplQuartz *) private->impl;
+ nswindow = impl->toplevel;
+
+ if (nswindow && ![nswindow isFlushWindowDisabled])
+ {
+ [nswindow disableFlushWindow];
+ nswindows = g_slist_prepend (nswindows, nswindow);
+ }
}
gdk_window_quartz_process_updates_internal (tmp_list->data);
tmp_list = tmp_list->next;
}
- while (nswindows)
+ tmp_list = nswindows;
+ while (tmp_list)
{
- NSWindow *nswindow = nswindows->data;
+ NSWindow *nswindow = tmp_list->data;
[nswindow enableFlushWindow];
[nswindow flushWindow];
- nswindows = nswindows->next;
+ tmp_list = tmp_list->next;
}
GDK_QUARTZ_RELEASE_POOL;